import { createApp } from 'vue/dist/vue.runtime.esm-bundler'; // 这个是runtime + compiler的包, 直接引入vue默认是runtime的包
import main from './src/index.vue';
import 'animate.css';
import 'reset.css';

let app = createApp(main);

app.config.performance = true; // 设置为 true可以在浏览器开发工具的 performance 面板中启用对组件初始化、编译、渲染和更新的性能追踪

// window.__VUE_DEVTOOLS_GLOBAL_HOOK__.Vue = app.constructor; // 开启vue3的devtools， 控制台会报bug，但是能用

app.mount('#root');
// vm返回的是挂载的那个根节点的实例

// createApp的作用是什么，为什么废弃了new Vue()去创建一个根实例
// 作者认为一个vue项目中，所有的根实例都共享同一个全局的配置，全局配置容易污染其他的根实例
// 于是诞生了createApp, 应用实例暴露当前全局 API 的子集，经验法则是，任何全局改变 Vue 行为的 API 现在都会移动到应用实例上
// 这样就避免了配置污染

// vue.xxx 现在都替换成了app.xxx app.use / app.directive / app.mixin
// 如果有多个应用需要共享同一个配置，我们可以使用工厂方法